package collection;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

/**
 * 字符串排序
 * 当元素自身已经实现了Comparable接口定义了比较规则,但该规则不满足我们排序需求是也可以自定义比较规则来排序
 */
public class SortListDemo3 {
    public static void main(String[] args) {
        List <String> list = new ArrayList<>();
        list.add("安佑学习");
        list.add("张三与");
        list.add("李四");
        list.add("丝丝");
        System.out.println(list);
//        Collections.sort(list,(o1, o2) -> o1.length() - o2.length() );
//        Collections.sort(list, Comparator.comparingInt(String::length));
        /*JDK8之后,List集合自身提供了sort方法进行排序,sort方法依然需要传入比较器*/
        list.sort((o1, o2) -> o1.length() - o2.length());
        System.out.println(list);

    }
}
